// mock请求

//二次封装axios
import axios from "axios";
// 引入进度条
import nProgress from "nprogress";
// start方法 进度条开始  done 进度条结束
// 利用axios对象的create方法 创建实例
// 引入进度条样式 修改.css文件即可修改样式和颜色
import "nprogress/nprogress.css";
const requests = axios.create({
  // 配置对象
  // 基础路径
  baseURL: '/mock',
  // 请求超时时间  
  timeout: 8000,
})
// 请求拦截器，发出请求之前做一些事
requests.interceptors.request.use((config) => {
  // config 配置对象，对象里面有一个重要属性 headers请求头
  // 进度条开始移动
  nProgress.start();
  return config;
});
// 响应拦截器，对于服务器返回来的数据进行处理
requests.interceptors.response.use((res) => {
  // 响应成功的回调函数 可以对返回来的数据做一些事
  // 进度条结束
  nProgress.done();
  return res.data;
}, (error) => {
  //响应失败的回调函数
  return Promise.reject(new Error('faile'));
});
// 对外引用
export default requests;